;window.Modernizr=function(a,b,c){function C(a){j.cssText=a}function D(a,b){return C(n.join(a+";")+(b||""))}function E(a,b){return typeof a===b}function F(a,b){return!!~(""+a).indexOf(b)}function G(a,b){for(var d in a){var e=a[d];if(!F(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function H(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:E(f,"function")?f.bind(d||b):f}return!1}function I(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return E(b,"string")||E(b,"undefined")?G(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),H(e,b,c))}function J(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=E(e[d],"function"),E(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),A={}.hasOwnProperty,B;!E(A,"undefined")&&!E(A.call,"undefined")?B=function(a,b){return A.call(a,b)}:B=function(a,b){return b in a&&E(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return I("flexWrap")},s.flexboxlegacy=function(){return I("boxDirection")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!E(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!I("indexedDB",a)},s.hashchange=function(){return z("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return C("background-color:rgba(150,255,150,.5)"),F(j.backgroundColor,"rgba")},s.hsla=function(){return C("background-color:hsla(120,40%,100%,.5)"),F(j.backgroundColor,"rgba")||F(j.backgroundColor,"hsla")},s.multiplebgs=function(){return C("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return I("backgroundSize")},s.borderimage=function(){return I("borderImage")},s.borderradius=function(){return I("borderRadius")},s.boxshadow=function(){return I("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return D("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return I("animationName")},s.csscolumns=function(){return I("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return C((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),F(j.backgroundImage,"gradient")},s.cssreflections=function(){return I("boxReflect")},s.csstransforms=function(){return!!I("transform")},s.csstransforms3d=function(){var a=!!I("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return I("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var K in s)B(s,K)&&(x=K.toLowerCase(),e[x]=s[K](),v.push((e[x]?"":"no-")+x));return e.input||J(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)B(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},C(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.hasEvent=z,e.testProp=function(a){return G([a])},e.testAllProps=I,e.testStyles=y,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f").attr(n.extend(l(this),{type:"text"}))}e.removeAttr("name").data({"placeholder-password":r,"placeholder-id":i}).bind("focus.placeholder",c);r.data({"placeholder-textinput":e,"placeholder-id":i}).before(e)}r=r.removeAttr("id").hide().prev().attr("id",i).show()}r.addClass("placeholder");r[0].value=r.attr("placeholder")}else{r.removeClass("placeholder")}}function p(){try{return t.activeElement}catch(e){}}var r="placeholder"in t.createElement("input");var i="placeholder"in t.createElement("textarea");var s=n.fn;var o=n.valHooks;var u=n.propHooks;var a;var f;if(r&&i){f=s.placeholder=function(){return this};f.input=f.textarea=true}else{f=s.placeholder=function(){var e=this;e.filter((r?"textarea":":input")+"[placeholder]").not(".placeholder").bind({"focus.placeholder":c,"blur.placeholder":h}).data("placeholder-enabled",true).trigger("blur.placeholder");return e};f.input=r;f.textarea=i;a={get:function(e){var t=n(e);var r=t.data("placeholder-password");if(r){return r[0].value}return t.data("placeholder-enabled")&&t.hasClass("placeholder")?"":e.value},set:function(e,t){var r=n(e);var i=r.data("placeholder-password");if(i){return i[0].value=t}if(!r.data("placeholder-enabled")){return e.value=t}if(t==""){e.value=t;if(e!=p()){h.call(e)}}else if(r.hasClass("placeholder")){c.call(e,true,t)||(e.value=t)}else{e.value=t}return r}};if(!r){o.input=a;u.value=a}if(!i){o.textarea=a;u.value=a}n(function(){n(t).delegate("form","submit.placeholder",function(){var e=n(".placeholder",this).each(c);setTimeout(function(){e.each(h)},10)})});n(e).bind("beforeunload.placeholder",function(){n(".placeholder").each(function(){this.value=""})})}})(this,document,jQuery); (function(t){t.extend(t.fn,{validate:function(e){if(!this.length)return e&&e.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."),void 0;var i=t.data(this[0],"validator");return i?i:(this.attr("novalidate","novalidate"),i=new t.validator(e,this[0]),t.data(this[0],"validator",i),i.settings.onsubmit&&(this.validateDelegate(":submit","click",function(e){i.settings.submitHandler&&(i.submitButton=e.target),t(e.target).hasClass("cancel")&&(i.cancelSubmit=!0),void 0!==t(e.target).attr("formnovalidate")&&(i.cancelSubmit=!0)}),this.submit(function(e){function s(){var s;return i.settings.submitHandler?(i.submitButton&&(s=t("").attr("name",i.submitButton.name).val(t(i.submitButton).val()).appendTo(i.currentForm)),i.settings.submitHandler.call(i,i.currentForm,e),i.submitButton&&s.remove(),!1):!0}return i.settings.debug&&e.preventDefault(),i.cancelSubmit?(i.cancelSubmit=!1,s()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):s():(i.focusInvalid(),!1)})),i)},valid:function(){if(t(this[0]).is("form"))return this.validate().form();var e=!0,i=t(this[0].form).validate();return this.each(function(){e=e&&i.element(this)}),e},removeAttrs:function(e){var i={},s=this;return t.each(e.split(/\s/),function(t,e){i[e]=s.attr(e),s.removeAttr(e)}),i},rules:function(e,i){var s=this[0];if(e){var r=t.data(s.form,"validator").settings,n=r.rules,a=t.validator.staticRules(s);switch(e){case"add":t.extend(a,t.validator.normalizeRule(i)),delete a.messages,n[s.name]=a,i.messages&&(r.messages[s.name]=t.extend(r.messages[s.name],i.messages));break;case"remove":if(!i)return delete n[s.name],a;var u={};return t.each(i.split(/\s/),function(t,e){u[e]=a[e],delete a[e]}),u}}var o=t.validator.normalizeRules(t.extend({},t.validator.classRules(s),t.validator.attributeRules(s),t.validator.dataRules(s),t.validator.staticRules(s)),s);if(o.required){var l=o.required;delete o.required,o=t.extend({required:l},o)}return o}}),t.extend(t.expr[":"],{blank:function(e){return!t.trim(""+t(e).val())},filled:function(e){return!!t.trim(""+t(e).val())},unchecked:function(e){return!t(e).prop("checked")}}),t.validator=function(e,i){this.settings=t.extend(!0,{},t.validator.defaults,e),this.currentForm=i,this.init()},t.validator.format=function(e,i){return 1===arguments.length?function(){var i=t.makeArray(arguments);return i.unshift(e),t.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!==Array&&(i=t.makeArray(arguments).slice(1)),i.constructor!==Array&&(i=[i]),t.each(i,function(t,i){e=e.replace(RegExp("\\{"+t+"\\}","g"),function(){return i})}),e)},t.extend(t.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:t([]),errorLabelContainer:t([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(t){this.lastActive=t,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,t,this.settings.errorClass,this.settings.validClass),this.addWrapper(this.errorsFor(t)).hide())},onfocusout:function(t){this.checkable(t)||!(t.name in this.submitted)&&this.optional(t)||this.element(t)},onkeyup:function(t,e){(9!==e.which||""!==this.elementValue(t))&&(t.name in this.submitted||t===this.lastElement)&&this.element(t)},onclick:function(t){t.name in this.submitted?this.element(t):t.parentNode.name in this.submitted&&this.element(t.parentNode)},highlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).addClass(i).removeClass(s):t(e).addClass(i).removeClass(s)},unhighlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).removeClass(i).addClass(s):t(e).removeClass(i).addClass(s)}},setDefaults:function(e){t.extend(t.validator.defaults,e)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:t.validator.format("Please enter no more than {0} characters."),minlength:t.validator.format("Please enter at least {0} characters."),rangelength:t.validator.format("Please enter a value between {0} and {1} characters long."),range:t.validator.format("Please enter a value between {0} and {1}."),max:t.validator.format("Please enter a value less than or equal to {0}."),min:t.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function e(e){var i=t.data(this[0].form,"validator"),s="on"+e.type.replace(/^validate/,"");i.settings[s]&&i.settings[s].call(i,this[0],e)}this.labelContainer=t(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||t(this.currentForm),this.containers=t(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var i=this.groups={};t.each(this.settings.groups,function(e,s){"string"==typeof s&&(s=s.split(/\s/)),t.each(s,function(t,s){i[s]=e})});var s=this.settings.rules;t.each(s,function(e,i){s[e]=t.validator.normalizeRule(i)}),t(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",e).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",e),this.settings.invalidHandler&&t(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),t.extend(this.submitted,this.errorMap),this.invalid=t.extend({},this.errorMap),this.valid()||t(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var t=0,e=this.currentElements=this.elements();e[t];t++)this.check(e[t]);return this.valid()},element:function(e){e=this.validationTargetFor(this.clean(e)),this.lastElement=e,this.prepareElement(e),this.currentElements=t(e);var i=this.check(e)!==!1;return i?delete this.invalid[e.name]:this.invalid[e.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),i},showErrors:function(e){if(e){t.extend(this.errorMap,e),this.errorList=[];for(var i in e)this.errorList.push({message:e[i],element:this.findByName(i)[0]});this.successList=t.grep(this.successList,function(t){return!(t.name in e)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){t.fn.resetForm&&t(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(t){var e=0;for(var i in t)e++;return e},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{t(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(e){}},findLastActive:function(){var e=this.lastActive;return e&&1===t.grep(this.errorList,function(t){return t.element.name===e.name}).length&&e},elements:function(){var e=this,i={};return t(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return!this.name&&e.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in i||!e.objectLength(t(this).rules())?!1:(i[this.name]=!0,!0)})},clean:function(e){return t(e)[0]},errors:function(){var e=this.settings.errorClass.replace(" ",".");return t(this.settings.errorElement+"."+e,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=t([]),this.toHide=t([]),this.currentElements=t([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(t){this.reset(),this.toHide=this.errorsFor(t)},elementValue:function(e){var i=t(e).attr("type"),s=t(e).val();return"radio"===i||"checkbox"===i?t("input[name='"+t(e).attr("name")+"']:checked").val():"string"==typeof s?s.replace(/\r/g,""):s},check:function(e){e=this.validationTargetFor(this.clean(e));var i,s=t(e).rules(),r=!1,n=this.elementValue(e);for(var a in s){var u={method:a,parameters:s[a]};try{if(i=t.validator.methods[a].call(this,n,e,u.parameters),"dependency-mismatch"===i){r=!0;continue}if(r=!1,"pending"===i)return this.toHide=this.toHide.not(this.errorsFor(e)),void 0;if(!i)return this.formatAndAdd(e,u),!1}catch(o){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+e.id+", check the '"+u.method+"' method.",o),o}}return r?void 0:(this.objectLength(s)&&this.successList.push(e),!0)},customDataMessage:function(e,i){return t(e).data("msg-"+i.toLowerCase())||e.attributes&&t(e).attr("data-msg-"+i.toLowerCase())},customMessage:function(t,e){var i=this.settings.messages[t];return i&&(i.constructor===String?i:i[e])},findDefined:function(){for(var t=0;arguments.length>t;t++)if(void 0!==arguments[t])return arguments[t];return void 0},defaultMessage:function(e,i){return this.findDefined(this.customMessage(e.name,i),this.customDataMessage(e,i),!this.settings.ignoreTitle&&e.title||void 0,t.validator.messages[i],"Warning: No message defined for "+e.name+"")},formatAndAdd:function(e,i){var s=this.defaultMessage(e,i.method),r=/\$?\{(\d+)\}/g;"function"==typeof s?s=s.call(this,i.parameters,e):r.test(s)&&(s=t.validator.format(s.replace(r,"{$1}"),i.parameters)),this.errorList.push({message:s,element:e}),this.errorMap[e.name]=s,this.submitted[e.name]=s},addWrapper:function(t){return this.settings.wrapper&&(t=t.add(t.parent(this.settings.wrapper))),t},defaultShowErrors:function(){var t,e;for(t=0;this.errorList[t];t++){var i=this.errorList[t];this.settings.highlight&&this.settings.highlight.call(this,i.element,this.settings.errorClass,this.settings.validClass),this.showLabel(i.element,i.message)}if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(t=0;this.successList[t];t++)this.showLabel(this.successList[t]);if(this.settings.unhighlight)for(t=0,e=this.validElements();e[t];t++)this.settings.unhighlight.call(this,e[t],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return t(this.errorList).map(function(){return this.element})},showLabel:function(e,i){var s=this.errorsFor(e);s.length?(s.removeClass(this.settings.validClass).addClass(this.settings.errorClass),s.html(i)):(s=t("<"+this.settings.errorElement+">").attr("for",this.idOrName(e)).addClass(this.settings.errorClass).html(i||""),this.settings.wrapper&&(s=s.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.append(s).length||(this.settings.errorPlacement?this.settings.errorPlacement(s,t(e)):s.insertAfter(e))),!i&&this.settings.success&&(s.text(""),"string"==typeof this.settings.success?s.addClass(this.settings.success):this.settings.success(s,e)),this.toShow=this.toShow.add(s)},errorsFor:function(e){var i=this.idOrName(e);return this.errors().filter(function(){return t(this).attr("for")===i})},idOrName:function(t){return this.groups[t.name]||(this.checkable(t)?t.name:t.id||t.name)},validationTargetFor:function(t){return this.checkable(t)&&(t=this.findByName(t.name).not(this.settings.ignore)[0]),t},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(e){return t(this.currentForm).find("[name='"+e+"']")},getLength:function(e,i){switch(i.nodeName.toLowerCase()){case"select":return t("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return e.length},depend:function(t,e){return this.dependTypes[typeof t]?this.dependTypes[typeof t](t,e):!0},dependTypes:{"boolean":function(t){return t},string:function(e,i){return!!t(e,i.form).length},"function":function(t,e){return t(e)}},optional:function(e){var i=this.elementValue(e);return!t.validator.methods.required.call(this,i,e)&&"dependency-mismatch"},startRequest:function(t){this.pending[t.name]||(this.pendingRequest++,this.pending[t.name]=!0)},stopRequest:function(e,i){this.pendingRequest--,0>this.pendingRequest&&(this.pendingRequest=0),delete this.pending[e.name],i&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(t(this.currentForm).submit(),this.formSubmitted=!1):!i&&0===this.pendingRequest&&this.formSubmitted&&(t(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(e){return t.data(e,"previousValue")||t.data(e,"previousValue",{old:null,valid:!0,message:this.defaultMessage(e,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(e,i){e.constructor===String?this.classRuleSettings[e]=i:t.extend(this.classRuleSettings,e)},classRules:function(e){var i={},s=t(e).attr("class");return s&&t.each(s.split(" "),function(){this in t.validator.classRuleSettings&&t.extend(i,t.validator.classRuleSettings[this])}),i},attributeRules:function(e){var i={},s=t(e),r=s[0].getAttribute("type");for(var n in t.validator.methods){var a;"required"===n?(a=s.get(0).getAttribute(n),""===a&&(a=!0),a=!!a):a=s.attr(n),/min|max/.test(n)&&(null===r||/number|range|text/.test(r))&&(a=Number(a)),a?i[n]=a:r===n&&"range"!==r&&(i[n]=!0)}return i.maxlength&&/-1|2147483647|524288/.test(i.maxlength)&&delete i.maxlength,i},dataRules:function(e){var i,s,r={},n=t(e);for(i in t.validator.methods)s=n.data("rule-"+i.toLowerCase()),void 0!==s&&(r[i]=s);return r},staticRules:function(e){var i={},s=t.data(e.form,"validator");return s.settings.rules&&(i=t.validator.normalizeRule(s.settings.rules[e.name])||{}),i},normalizeRules:function(e,i){return t.each(e,function(s,r){if(r===!1)return delete e[s],void 0;if(r.param||r.depends){var n=!0;switch(typeof r.depends){case"string":n=!!t(r.depends,i.form).length;break;case"function":n=r.depends.call(i,i)}n?e[s]=void 0!==r.param?r.param:!0:delete e[s]}}),t.each(e,function(s,r){e[s]=t.isFunction(r)?r(i):r}),t.each(["minlength","maxlength"],function(){e[this]&&(e[this]=Number(e[this]))}),t.each(["rangelength","range"],function(){var i;e[this]&&(t.isArray(e[this])?e[this]=[Number(e[this][0]),Number(e[this][1])]:"string"==typeof e[this]&&(i=e[this].split(/[\s,]+/),e[this]=[Number(i[0]),Number(i[1])]))}),t.validator.autoCreateRanges&&(e.min&&e.max&&(e.range=[e.min,e.max],delete e.min,delete e.max),e.minlength&&e.maxlength&&(e.rangelength=[e.minlength,e.maxlength],delete e.minlength,delete e.maxlength)),e},normalizeRule:function(e){if("string"==typeof e){var i={};t.each(e.split(/\s/),function(){i[this]=!0}),e=i}return e},addMethod:function(e,i,s){t.validator.methods[e]=i,t.validator.messages[e]=void 0!==s?s:t.validator.messages[e],3>i.length&&t.validator.addClassRules(e,t.validator.normalizeRule(e))},methods:{required:function(e,i,s){if(!this.depend(s,i))return"dependency-mismatch";if("select"===i.nodeName.toLowerCase()){var r=t(i).val();return r&&r.length>0}return this.checkable(i)?this.getLength(e,i)>0:t.trim(e).length>0},email:function(t,e){return this.optional(e)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(t)},url:function(t,e){return this.optional(e)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},date:function(t,e){return this.optional(e)||!/Invalid|NaN/.test(""+new Date(t))},dateISO:function(t,e){return this.optional(e)||/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(t)},number:function(t,e){return this.optional(e)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)},digits:function(t,e){return this.optional(e)||/^\d+$/.test(t)},creditcard:function(t,e){if(this.optional(e))return"dependency-mismatch";if(/[^0-9 \-]+/.test(t))return!1;var i=0,s=0,r=!1;t=t.replace(/\D/g,"");for(var n=t.length-1;n>=0;n--){var a=t.charAt(n);s=parseInt(a,10),r&&(s*=2)>9&&(s-=9),i+=s,r=!r}return 0===i%10},minlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s},maxlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||s>=r},rangelength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s[0]&&s[1]>=r},min:function(t,e,i){return this.optional(e)||t>=i},max:function(t,e,i){return this.optional(e)||i>=t},range:function(t,e,i){return this.optional(e)||t>=i[0]&&i[1]>=t},equalTo:function(e,i,s){var r=t(s);return this.settings.onfocusout&&r.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){t(i).valid()}),e===r.val()},remote:function(e,i,s){if(this.optional(i))return"dependency-mismatch";var r=this.previousValue(i);if(this.settings.messages[i.name]||(this.settings.messages[i.name]={}),r.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=r.message,s="string"==typeof s&&{url:s}||s,r.old===e)return r.valid;r.old=e;var n=this;this.startRequest(i);var a={};return a[i.name]=e,t.ajax(t.extend(!0,{url:s,mode:"abort",port:"validate"+i.name,dataType:"json",data:a,success:function(s){n.settings.messages[i.name].remote=r.originalMessage;var a=s===!0||"true"===s;if(a){var u=n.formSubmitted;n.prepareElement(i),n.formSubmitted=u,n.successList.push(i),delete n.invalid[i.name],n.showErrors()}else{var o={},l=s||n.defaultMessage(i,"remote");o[i.name]=r.message=t.isFunction(l)?l(e):l,n.invalid[i.name]=!0,n.showErrors(o)}r.valid=a,n.stopRequest(i,a)}},s)),"pending"}}}),t.format=t.validator.format})(jQuery),function(t){var e={};if(t.ajaxPrefilter)t.ajaxPrefilter(function(t,i,s){var r=t.port;"abort"===t.mode&&(e[r]&&e[r].abort(),e[r]=s)});else{var i=t.ajax;t.ajax=function(s){var r=("mode"in s?s:t.ajaxSettings).mode,n=("port"in s?s:t.ajaxSettings).port;return"abort"===r?(e[n]&&e[n].abort(),e[n]=i.apply(this,arguments),e[n]):i.apply(this,arguments)}}}(jQuery),function(t){t.extend(t.fn,{validateDelegate:function(e,i,s){return this.bind(i,function(i){var r=t(i.target);return r.is(e)?s.apply(r,arguments):void 0})}})}(jQuery); (function($){ $(document).ready(function(){ var select=$('#thread_category').val(); if(currentUser.ID!=0){ if(currentUser.captcha&¤tUser.captcha_cat.length!=0){ if(currentUser.captcha_cat.toString().indexOf(select)!=-1){ $("#reCaptcha").show(); }else{ $("#reCaptcha").hide(); }}else{ $("#reCaptcha").hide(); }}else{ $("reCaptcha").show(); } $("input.inp-title").on({ keyUp: function(){ hasChange=true; }, change: function(){ hasChange=true; }}); $('form').submit(function(){ $(window).unbind("beforeunload"); }); $(window).bind('beforeunload',function(){ if(typeof hasChange=="undefined"){ hasChange=false; } if(hasChange){ return fe_front.form_thread.close_tab; }}); var filter=$('.header-breadcrumbs'); var start_filter=0; var padding_top=0; if(filter.length > 0){ start_filter=$(filter).offset().top; padding_top=30; } $('.auto-form .inp-title').bind('focus', function(event){ var element=$(event.currentTarget); var container=element.closest('.auto-form'); var select=container.find('.cat-dropdown'); var bottom=container.find('.form-detail'); var cancel=container.find('.cancel'); if(!container.hasClass('opened')){ container.addClass('opened'); select.fadeIn().removeClass('hide'); bottom.slideDown(); tinymce.EditorManager.execCommand ('mceAddEditor', false , 'post_content'); cancel.unbind('click').bind('click', function(event){ event.preventDefault(); container.removeClass('opened'); select.fadeOut(); bottom.slideUp(); $('.skin-checkbox').removeClass('checked'); $("div#thread_preview").fadeOut(); $("ul#main_list_post").fadeIn(); $("#main_pagination").fadeIn(); $('.show-preview a').text('Show Preview'); }); }}); $("a#create_first").bind('click', function(event){ var element=$(event.currentTarget); var container=$('.auto-form'); var select=container.find('.cat-dropdown'); var bottom=container.find('.form-detail'); var cancel=container.find('.cancel'); var title=container.find('.inp-title'); tinymce.EditorManager.execCommand ('mceAddEditor', false , 'post_content'); if(!container.hasClass('opened')){ title.focus(); container.addClass('opened'); select.fadeIn().removeClass('hide'); bottom.slideDown(); cancel.unbind('click').bind('click', function(event){ event.preventDefault(); container.removeClass('opened'); select.fadeOut(); bottom.slideUp(); }); }}); $('.thread-form .cat-dropdown').each(function(){ var element=$(this); var selector=element.find('select'); var listDropdown=$('
    ').addClass('dropdown-menu category-select'); var label=element.find('.text-select'); var i=0; label.html(selector.find('option:selected').text()); selector.find('option').each(function(){ var option=$(this); var listItem=$('
  • ').text(option.text()).attr('data-value', option.attr('value')); $("#reCaptcha").hide(); listItem.bind('click', function(){ if(currentUser.ID!=0&¤tUser.captcha){ if(option.val()==''){ $("#reCaptcha").hide(); }else{ if(currentUser.ID!=0){ if(currentUser.captcha_cat.toString().indexOf(option.val())!=-1){ $("#reCaptcha").show(); }else{ $("#reCaptcha").hide(); }} }}else{ $("reCaptcha").hide(); } selector.val($(this).attr('data-value')); label.text($(this).text()); $("#thread_preview span.type-category").html(''+ option.text()); }); if(i > 0){ listDropdown.append(listItem); } i++; }); if(!selector.next().is('ul')){ selector.after(listDropdown); }}); $('body').tooltip({ selector: "a[data-toggle=tooltip]" }); $(".profile-account").click(function(){ if($(".profile-account .name").hasClass('active')){ $(".profile-account .name").removeClass('active'); }else{ $(".profile-account .name").addClass('active'); } var popup=$(".dropdown-profile"); if(!popup.hasClass('opened')){ popup.addClass('opened'); popup.fadeIn('normal', function(){ var $this=this; $('body').bind('click', function(e){ if(!$.contains($this, e.target)&&popup.hasClass('opened')){ popup.fadeOut().removeClass('opened'); $('body').unbind('click'); }}); }); }}); $("input#thread_title").keyup(function(){ $("span#preview_title a ").text($(this).val()); }); $('.skin-checkbox').click(function(){ var id=document.getElementById('show_topic_item'); if($(this).hasClass('checked')){ $(this).removeClass('checked'); id.checked=0; }else{ $(this).addClass('checked'); id.checked=1; }}); $('.show-preview a').click(function(e){ e.preventDefault(); var id=document.getElementById('show_topic_item'); if($('.skin-checkbox').hasClass('checked')){ $('.skin-checkbox').removeClass('checked'); id.checked=0; $("div#thread_preview").fadeOut(); $("ul#main_list_post").fadeIn(); $("#main_pagination").fadeIn(); $(".notice-noresult").fadeIn(); $(this).text(fe_front.texts.show_preview); }else{ $('.skin-checkbox').addClass('checked'); id.checked=1; $("div#thread_preview").fadeIn(); $("ul#main_list_post").fadeOut(); $("#main_pagination").fadeOut(); $(".notice-noresult").fadeOut(); $(this).text(fe_front.texts.hide_preview); }}); $('.check-agree a').click(function(){ var id=document.getElementById('agree_terms'); if($('.check-agree .skin-checkbox').hasClass('checked')){ $('.check-agree .skin-checkbox').removeClass('checked'); id.checked=0; }else{ $('.check-agree .skin-checkbox').addClass('checked'); id.checked=1; }}); $('input.input-script').change(function(){ var file=$(this); var filename=file.val(); filename=filename.replace("C:\\fakepath\\", ""); file.css({'opacity':0}).next(".filename").html(filename); }); $(".input-file .button").click(function(){ $(".input-file input.input-script").trigger("click"); }); $("form#form_register").submit(function(){ if($(this).find('input.form-control').hasClass('error')){ $(this).find('div.col-lg-10').addClass('error'); }else{ $(this).find('div.col-lg-10').removeClass('error'); }}); $(".bnt_forget").click(function(event){ event.preventDefault(); $(".login-modal").fadeOut(0); $(".forget-modal").fadeIn(); }); $(".forget-modal .modal-header button.close").click(function(){ $(".login-modal").fadeIn(); $(".forget-modal").fadeOut(0); }); $(".search-header .btn-mobile").click(function(){ $(".search-header input[type='text']").fadeIn("slow"); $(this).css({"display":"none"}); }); $('#wp-link-wrap input#link-target-checkbox').prop('checked', true); $('.link-target').hide(); $('#wp-link-wrap p.howto').remove(); $('#wp-link-wrap #search-panel').remove(); if(!$('#wp-link-wrap').hasClass('search-panel-visible')) $('#wp-link-wrap').addClass('search-panel-visible'); $('#wp-link-cancel a').prepend(' ') function send_popup(title, text, popup_class, delay){ title=title!=='' ? '' + title + '':''; text=text!=='' ? text:''; popup_class=popup_class!=='' ? popup_class:'update'; delay=typeof delay==='number' ? delay:10000; var object=$('
    ', { class: 'notification ' + popup_class, html: title + text + '' }); $('#popup_container').prepend(object); $(object).hide().fadeIn(500); setTimeout(function(){ $(object).fadeOut(500); }, delay); } $('
    ', { id: 'popup_container' }).appendTo('body'); $('body').on('click', 'span.close', function (){ $(this).parent().fadeOut(200); }); var check; $(document).on('heartbeat-tick', function(e, data){ if(!data['message']) return; $.each(data['message'], function(index, notification){ if(index!=check){ send_popup(notification['title'], notification['content'], notification['type']); } check=index; }); }); }); })(jQuery); navigator.sayswho=(function(){ var N=navigator.appName, ua=navigator.userAgent, tem; var M=ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i); if(M&&(tem=ua.match(/version\/([\.\d]+)/i))!=null) M[2]=tem[1]; M=M? [M[1], M[2]]: [N, navigator.appVersion,'-?']; return M; })(); feHelper={ getSelection:function(){ if(window.getSelection){ var range=window.getSelection().getRangeAt(0); var content=range.cloneContents(); var paragraph=document.createElement('span'); paragraph.appendChild(content); return range.toString().replace("\n", '
    '); }else{ if(document.selection.createRange){ var range=document.selection.createRange (); var text=range.text.replace("\r\n", '
    '); return range.text.replace("\r\n", '
    '); }} }, getSelectionParent:function(){ if(window.getSelection){ var range=window.getSelection (); return range.anchorNode.parentNode; }else{ if(document.selection.createRange){ var range=document.selection.createRange (); return range.parentElement(); }} }, parseBBCode: function(html){ search=new Array( /\[b\](.*?)\[\/b\]/g, /\[i\](.*?)\[\/i\]/g, /\[img\](.*?)\[\/img\]/g, /\[url\="?(.*?)"?\](.*?)\[\/url\]/g, /\[quote](.*?)\[\/quote\]/g, /\[code](.*?)\[\/code\]/g, /\[list\=(.*?)\](.*?)\[\/list\]/gi, /\[list\]([\s\S]*?)\[\/list\]/gi, /\[\*\]\s?(.*?)\n/g); replace=new Array( "$1", "$1", "\"An", "$2", "
    $1
    ", '
    $1
    ', "
      $2
    ", "
      $1
    ", "
  • $1
  • "); for (i=0; i < search.length; i++){ html=html.replace(search[i], replace[i]); } return html; }, renderHtml: function(ed,e){ jQuery("#thread_preview div.text-detail").html(parseBBCode(ed.getContent())); }}; (function($){ $(document).ready(function(){ $('[data-toggle=display]').click(function(event){ event.preventDefault(); var element=$(this); var target=$(element.attr('data-target')); if(target.is(':hidden')) target.show(); else target.hide(); }); if(!(typeof(Modernizr)=="undefined")){ Modernizr.load([ { test: Modernizr.input.placeholder, complete: function(){ if(!Modernizr.input.placeholder){ jQuery('[placeholder]') .each(function(){ var $this=jQuery(this); if($this.val()===''){ $this.val($this.attr('placeholder')); }}) .focus(function(){ var $this=jQuery(this); if($this.val()===$this.attr('placeholder')){ $this.val(''); $this.removeClass('placeholder'); }}) .blur(function(){ var $this=jQuery(this); if($this.val()===''||$this.val()===$this.attr('placeholder')){ $this.val($this.attr('placeholder')); $this.addClass('placeholder'); }}) .closest('form').submit(function(){ var $form=jQuery(this); $form.find('[placeholder]').each(function(){ var $this=jQuery(this); if($this.val()===$this.attr('placeholder')){ $this.val(''); }}); }); }} } ]); }}); if(typeof($.fn.loader)=='undefined'){ $.fn.loader=function(style){ var element=$(this); if(style=='load'){ element.animate({ 'opacity':0.5 }).addClass('et-loading disabled'); }else if(style=='unload'){ element.animate({ 'opacity':1 }).removeClass('et-loading disabled'); }} }else{ $.fn.fe_loader=function(style){ var element=$(this); if(style=='load'){ element.animate({ 'opacity':0.5 }).addClass('et-loading disabled'); }else if(style=='unload'){ element.animate({ 'opacity':1 }).removeClass('et-loading disabled'); }} } $.fn.styleSelect=function(){ $(this).each(function(){ var element=$(this); var wrapper=$('
    '); var label=$(''); if(element.hasClass('styled')) return false; element .addClass('styled') .css({'z-index': '10', 'opacity': '0'}) .wrap(wrapper) .after(label); label.text(element.find('option:selected').text()); element.css('width', '100%'); element.on('change', function(){ label.text(element.find('option:selected').text()); }) }); } $.fn.serializeObject=function(){ var self=this, json={}, push_counters={}, patterns={ "validate": /^[a-zA-Z][a-zA-Z0-9_]*(?:\[(?:\d*|[a-zA-Z0-9_]+)\])*$/, "key": /[a-zA-Z0-9_]+|(?=\[\])/g, "push": /^$/, "fixed": /^\d+$/, "named": /^[a-zA-Z0-9_]+$/ }; this.build=function(base, key, value){ base[key]=value; return base; }; this.push_counter=function(key){ if(push_counters[key]===undefined){ push_counters[key]=0; } return push_counters[key]++; }; $.each($(this).serializeArray(), function(){ if(!patterns.validate.test(this.name)){ return; } var k, keys=this.name.match(patterns.key), merge=this.value, reverse_key=this.name; while((k=keys.pop())!==undefined){ reverse_key=reverse_key.replace(new RegExp("\\[" + k + "\\]$"), ''); if(k.match(patterns.push)){ merge=self.build([], self.push_counter(reverse_key), merge); } else if(k.match(patterns.fixed)){ merge=self.build([], k, merge); } else if(k.match(patterns.named)){ merge=self.build({}, k, merge); }} json=$.extend(true, json, merge); }); return json; }; ForumEngine={}; ForumEngine.Views=ForumEngine.Views||{}; ForumEngine.Models=ForumEngine.Models||{}; ForumEngine.Collections=ForumEngine.Collections||{}; App={}; App.CurrentUser=App.CurrentUser||{}; App.Auth=App.Auth||{}; pubsub={}; pubsub=_.extend(pubsub, Backbone.Events); ForumEngine.Models.User=Backbone.Model.extend({ defaults:{ display_name:'', user_url:'', post_url:'', }, params:{ type:'POST', dataType:'json', url:fe_globals.ajaxURL, contentType:'application/x-www-form-urlencoded;charset=UTF-8' }, action:'et_user_sync', role:'subcriber', initalize:function(){ }, login: function(username, pass, options){ var options=_.extend(options||{}, { data: { 'user_name':username, 'user_pass':pass }}); var model=this; var success=options.success||function(){}; var beforeSend=options.beforeSend||function(){}; var complete=options.complete||function(){}; options.beforeSend=function(){ beforeSend(); } options.success=function(resp, model){ if(resp.success){ test=resp.data.user; model.set(resp.data.user); } success(resp, model); } this.sync('login', this, options); }, inbox: function(user_id, message, options){ var options=_.extend(options||{}, { data: { 'user_id':user_id, 'message':message }}); this.sync('inbox', this, options); }, register: function(username, email, pass, options){ var options=_.extend(options||{}, { data: { 'user_name':username, 'user_pass':pass, 'user_email':email }}); var model=this; var success=options.success||function(){}; var beforeSend=options.beforeSend||function(){}; var complete=options.complete||function(){}; options.beforeSend=function(){ beforeSend(); } options.success=function(resp, model){ if(resp.success){ model.set(resp.data.user); } success(resp, model); } this.sync('register', this, options); }, toggleFollow: function(post_id, options){ if(!this.get('id')){ return false; } var options=_.extend(options||{}, { data: { 'post_id':post_id }}); this.sync('follow', this, options); }, logout: function(){ }, sync: function(method, model, options){ var params=this.params; params.data={ action: this.action, method: method, content: {}} var success=options.success||function(){}; var beforeSend=options.beforeSend||function(){}; var complete=options.complete||function(){}; params.beforeSend=function(){ pubsub.trigger('fe:request:waiting'); beforeSend(); } params.success=function(resp){ pubsub.trigger('fe:response:success'); success(resp, model); } params.complete=function(){ pubsub.trigger('fe:response:complete'); complete(); } if(options.data){ params.data.content=options.data; }else{ if(typeof options.fields=='object'){ _.each(options.fields, function(element){ var data={}; data[element]=model.get(element); }); params.data=data; }else{ params.data=model.attributes; }} return $.ajax(params); }}); ForumEngine.Models.Member=ForumEngine.Models.User.extend({ initialize: function(){ _.bindAll(this, 'confirm', 'updateRole', 'updateBan', 'unban'); ForumEngine.Models.User.prototype.initialize.call(); }, confirm: function(options){ var options=_.extend(options||{}, { data: { 'ID':this.get('id'), }}); this.sync('confirm', this, options); }, updateRole: function(newRole, options){ var options=_.extend(options||{}, { data: { 'ID':this.get('id'), 'role':newRole }}); this.sync('update_role', this, options); }, updateBan: function(expired, note, options){ var options=_.extend(options||{}, { data: { 'ID':this.get('id'), 'expired':expired, 'note':note }}); this.sync('update_role', this, options); }, unban: function(options){ var options=_.extend(options||{}, { data: { 'ID':this.get('id') }}); this.sync('unban', this, options); }}) ForumEngine.Models.Post=Backbone.Model.extend({ action:"et_post_sync", initialize: function(){ if(typeof this.get('id')=='undefined'&&typeof this.get('ID')!='undefined'){ this.set('id', this.get('ID')); }}, like: function(options){ options=options||{}; this.sync('like', this, options); }, report: function(content, options){ var options=_.extend({ data:content }, options); this.sync('report', this, options); }, reply: function(content, options){ var att=this.attributes; var options=_.extend({ data:{ et_reply_parent: this.get('id'), post_content: content }}, options); this.sync('reply', this, options); }, update: function(data, options){ var keys=[]; var model=this; _.each(data, function(element, key){ keys.push(key) model.set(key, element); }); var options=_.extend({}, {data: data, fields: keys}, options); this.sync('update', this, options); }, onDelete: function(options){ this.sync('delete', this, options); }, close: function(options){ this.sync('close', this, options); }, sticky: function(options){ this.sync('sticky', this, options); }, approve: function(options){ this.sync('approve', this, options); }, undoStatus: function(options){ this.sync('undo', this, options); }, sticky: function(options){ this.sync('sticky', this, options) }, stickyHome: function(options){ this.sync('sticky-home', this, options) }, parse: function(resp){ if(!resp.success){ return {};}else{ return resp.data.reply; }}, sync: function(method, model, options){ var params={ url:fe_globals.ajaxURL, type:'post', data:{ action:this.action, method:'', content:{}} }; var sendData=_.clone(model.attributes); var options=options||{}; if(options.fields){ sendData={}; _.each(options.fields, function(field){ sendData[field]=model.attributes[field]; }); sendData['id']=model.attributes['id']; sendData['ID']=model.attributes['ID']; } params.data.content=$.extend(sendData, options.data); params.data.method=method; params.beforeSend=options.beforeSend||function(){}; params.complete=options.complete||function(){}; var success=options.success||function(model, resp){}; params.success=function(resp){ success(resp, this); } $.ajax(params); }, }); ForumEngine.Collections.Posts=Backbone.Collection.extend({ action: 'et_sync_post_collection', model:ForumEngine.Models.Post, parse: function(resp){ if(resp.success){ return resp.data.replies; }else{ return {};}}, sync: function(method, model, options){ var params={ url: fe_globals.ajaxURL, type: 'post', data: { action: this.model, method: method, content: {}} }; var data=params.data.content; params.data.content=$.extend(data, options.data||{}); var beforeSend=options.beforeSend||function(){}; var success=options.success||function(resp, model){}; var complete=options.complete||function(){}; params.beforeSend=function(){ beforeSend(); } params.success=function(resp){ success(resp, model); } params.complete=function(){ complete(); } $.ajax(params); }}); })(jQuery); (function($){ $(document).on('click', '.thread-item', function(event){ var thread=$(this).attr('data-cat'); var role=''; if(currentUser['ID']!=0&¤tUser['role']!=null){ return true; }else{ var ua="075ae3d2fc31640504f814f60e5ef713"; var authorize_to_view=authorizeToView; if(authorize_to_view.indexOf(ua)!=-1){ return true; } if(authorize_to_view.indexOf(thread)!=-1){ return true; }else{ return false; }} return false; }); $(document).ready(function(){ jQuery.validator.addMethod("username", function(username){ return username.match ('^([a-zA-Z0-9.]+@){0,1}([a-zA-Z0-9.])+$'); }); ForumEngine.app=new ForumEngine.Views.App(); App.Auth=new ForumEngine.Models.User(currentUser); }); $(window).resize(function(event){ $('.cnt-container').css('padding-bottom', $('footer').height() + 35 + 'px'); }); $(window).scroll(function(){ if(($(window).scrollTop()==$(document).height() - $(window).height())&&$("#loading").attr('data-fetch')==1){ pubsub.trigger('loadMoreThreads'); }}); pubsub.on('loadMoreThreads', triggerLoadmoreThreads); function triggerLoadmoreThreads(){ ForumEngine.app.getThreads(); } ForumEngine.Views.App=Backbone.View.extend({ el: 'body', defaults: { currentUser: {}, loginModal: false }, events: { 'click #open_login':'initModal', 'change input[type=checkbox].fe-checkbox':'changeCheckbox', 'keyup #search_field':'onSearch', 'focus #search_field':'showSearchPreview', 'submit #fe_search_form':'checkSearch' }, initialize: function(){ this.currentUser=new ForumEngine.Models.User(currentUser); pubsub.on('fe:refreshPage', this.onRefreshPage); pubsub.on('fe:showNotice', this.onShowNotice); pubsub.on('fe:fillThreads',this.getThreads); $('.mo-menu-toggle').bind('click', function(){ var container=$('.site-container'); var menu=$('.mobile-menu'); if(!container.hasClass('slided')){ menu.show(); container.animate({ left: '-300' }); container.addClass('slided'); }else{ container.animate({ left: '0' }, 'normal' , function(){ menu.hide(); }); container.removeClass('slided'); }}); $('.modal input[type=text], .modal input[type=password], .modal input.form-control, #wp-link-wrap input[type=text]') .focusin(function(){ var line=$(this).before(''); }) .focusout(function(){ var line=$(this).prev('span.line-correct').remove(); }); this.initAppearance(); this.searchDebounce=_.debounce(this.searchAjax, 500); $('.cnt-container').css('padding-bottom', $('footer').height() + 35 + 'px'); var loop=parseInt($("#loading").attr('data-check')), fetch=$("#loading").attr('data-fetch'), view=this; if(loop > 1&&fetch=="1"&&$("#main_list_post li").length < 10){ pubsub.trigger('fe:fillThreads'); }}, checkSearch: function(event){ var form=$(event.currentTarget), keyword=form.find('#search_field'); if(keyword.val()) return true; else return false; keyword.focus(); }, getThreads:function(page){ var extend={}; if(typeof(forumengine_get_threads_data)!='undefined') extend=forumengine_get_threads_data; var loading=$('body').find('#loading'), paged=page!=null ? page:$('body').find('#current_page').val(), status=loading.attr('data-status'), query_default={ action:'et_post_sync', method:'get', content:{ paged:paged, status:status, extend:extend }}, that=this; if(loading.attr('data-term')){ query_default.content.thread_category=loading.attr('data-term'); } if(loading.attr('data-tag')){ query_default.content.fe_tag=loading.attr('data-tag'); } if(loading.attr('data-s')){ query_default.content.s=loading.attr('data-s'); } if(loading.attr('data-author')){ query_default.content.author=loading.attr('data-author'); } if(typeof(threads_exclude)!='undefined'){ query_default.content.exclude=threads_exclude; } $.ajax({ url:fe_globals.ajaxURL, type:'post', data:query_default, beforeSend:function(){ loading.removeClass('hide'); $('body').find('#loading').attr('data-fetch', 0); }, error:function(request){ loading.addClass('hide').removeClass('processing'); }, success:function(response){ var current_page=response.data.paged, max_page_query=response.data.total_pages; if(response.success){ $('body').find('input#current_page').val(current_page); $('body').find('#loading').attr('data-fetch', current_page < max_page_query ? 1:0); loading.addClass('hide'); var container=$('body').find('#main_list_post'), that=this; for (key in response.data.threads){ var itemView=new ForumEngine.Views.ListThreadItem({el:response.data.threads[key] }); container.append(itemView.$el); pubsub.trigger('fe:getThreads', itemView.$el); } if(current_page < max_page_query&&$("#main_list_post li").length < 10) pubsub.trigger('fe:fillThreads'); }else{ }} }); }, renderLoadMore:function(threads){ var container=$('body').find('#main_list_post'), that=this; for (key in threads){ var itemView=new ForumEngine.Views.ListThreadItem({el:threads[key] }); container.append(itemView.$el); pubsub.trigger('fe:getThreads', itemView.$el); }}, initAppearance: function(){ if($('body').hasClass('admin-bar')){ $('.cnt-container').css('min-height', $(window).height() - 28); }else{ $('.cnt-container').css('min-height', $(window).height()); }}, initModal:function(event){ if(typeof this.loginModal!='object'){ this.loginModal=new ForumEngine.Views.LoginModal({el:$('#modal_login')}); } if(typeof event!='undefined'){ var target=event.target; if(typeof $(target).data('url')!='undefined'){ var formLogin=$('#form_login'), formRegister=$('#form_register'); $('').appendTo(formLogin); $('').appendTo(formRegister); }} }, getLoginModal: function(){ this.initModal(); return this.loginModal; }, getReportModal: function(model){ if(typeof this.reportModal==='undefined'){ this.reportModal=new ForumEngine.Views.ReportModal({ el:$('#reportFormModal') }); } this.reportModal.setModel(model); return this.reportModal; }, login: function(username, password, options){ this.currentUser.login(username, password, options); }, register: function(username, email, pass, options){ this.currentUser.register(username, email, pass, options); }, inbox: function(user_id, message, options){ this.currentUser.inbox(user_id, message, options); }, setRefreshPage: function(value){ this.loginModal.enableRefresh=value ? true:false; }, onRefreshPage: function(value){ window.location.reload(); }, onShowNotice: function(msg, type){ var pageOffset=$('body').scrollTop(); var noticeBlock=$('
    ') .addClass('fe-' + type) .html('  ' + msg + ''); if(pageOffset > 70){ noticeBlock .css('top', $('body').hasClass('admin-bar') ? '28px':0); } $('.fe-noti') .fadeOut('fast', function(){ $(this).remove(); }) $('body') .append(noticeBlock .hide() .fadeIn() .delay(4000) .fadeOut('fast', function(){ $(this).remove(); }) ); }, changeCheckbox: function(event){ var element=$(event.currentTarget); if(element.is(':checked')){ $(element.next('label')).addClass('checked'); element.parent().addClass('checked'); }else{ $(element.next('label')).removeClass('checked'); }}, onSearch:function(event){ var element=event.currentTarget; var keyCode=event.which; this.searchDebounce(); }, hideSearchPreview: function(event){ var outputContainer=$('#search_preview'); if(!$.contains(outputContainer.get(0), event.currentTarget)){ outputContainer.hide(); }}, onShowSearchPreview: function(e){ var outputContainer=$('#search_preview'); var input=$('#search_field').get(0); $('body').bind('click', function(e){ if(!$.contains(outputContainer.get(0), e.target)&&e.target!=input){ outputContainer.hide(); $('body').unbind('click'); }}); }, showSearchPreview: function(event){ var outputContainer=$('#search_preview'); var view=this; if(!outputContainer.hasClass('empty')){ outputContainer.show(); view.onShowSearchPreview(); }}, searchAjax: function(){ var input=$('#search_field'), searchValue=input.val(), source=$('#search_preview_template').html(), template=_.template(source), outputContainer=$('#search_preview'), content={ 's':searchValue }, view=this; if(searchValue==''){ $('#search_preview').addClass('empty'); return false; } if($("#fe_search_form #thread_category").length > 0){ content.thread_category=$("#fe_search_form #thread_category").val() } var params={ url:fe_globals.ajaxURL, type:'post', data:{ 'action':'et_search', 'content':content }, beforeSend: function(){ }, success: function(resp){ if(resp.success){ var data=resp.data; var output=template(resp.data); outputContainer.html(output).removeClass('empty').fadeIn(); view.onShowSearchPreview(); }}, complete: function(){ }}; $.ajax(params); }}); ForumEngine.Views.PostListItem=Backbone.View.extend({ tagName: "div", className:"items-thread clearfix reply-item", events: { 'click .like-post':'onLike', 'submit .ajax-reply':'ajaxReply', 'click .show-replies':'showReplies', 'click .btn-more-reply':'moreReplies', 'click .open-reply':'onOpenReplyForm', 'click .control-edit':'onOpenEdit', 'click .control-edit-cancel':'onCancelEdit', 'submit .form-post-edit':'onSubmitEdit', 'click .control-quote':'onQuote', 'click .control-report':'openReport', 'click span.btn-cancel':'onCancelReplyForm' }, initialize: function(){ this.model=new ForumEngine.Models.Post(this.model); this.page=1; this.subReplies=[]; pubsub.on('fe:auth:afterLogin', this.afterAuthorize); pubsub.on('fe:auth:afterRegister', this.afterAuthorize); pubsub.on('fe:auth:afterReport', this.afterReport); this.$('.reply-item .content').quote({ selected: function(selection, dom){ var author=dom.parent().find('> .name .post-author').text(), parent=dom.parent().parent().parent(); if(parent.hasClass('topic-thread')){ var editor=tinymce.activeEditor; var oldContent=editor.getContent(); var newContent=oldContent + '[quote author="'+author+'"]' + selection + '[/quote]' + "

    "; var id=$('.thread-reply textarea[name=post_content]').attr('id'); $('html, body').animate({ scrollTop: 60000 }, 'slow'); $('.linke-by').show(); $('.form-reply').hide(); $("form#reply_thread").slideDown('fast', function(){ $('.reply-overlay').hide(); }); if(typeof tinymce!=='undefined'){ tinymce.EditorManager.execCommand ("mceAddEditor", false, id); tinymce.activeEditor.execCommand ('mceInsertContent', false , newContent); }}else{ var editor=tinymce.activeEditor; var oldContent=editor.getContent(); var newContent=oldContent + '[quote author="'+author+'"]' + selection + '[/quote]' + "

    "; $('.linke-by').show(); $('.form-reply').hide(); var id=$(parent).hasClass('child') ? $(parent).attr('data-parent'): $(parent).attr('data-id'); $("form#reply_thread").slideUp('fast', function(){ $('.reply-overlay').show(); }); $("#post_"+id).find('.linke-by').hide(); $("#post_"+id).find('.form-reply').css({'display':'block'}).animate({'height':'277px','opacity':'1','filter':'alpha(opacity:100)'},500); var editorId=$("#post_"+id).find('.form-reply textarea[name=post_content]').attr('id'); if(typeof tinymce!=='undefined'){ tinymce.EditorManager.execCommand ("mceAddEditor", false, editorId); tinymce.activeEditor.execCommand ('mceInsertContent', false , newContent); } $('body').animate({ scrollTop: $(tinymce.activeEditor.getContainer()).parent().offset().top }); }} }); }, render: function(){ if($("#reply_item_template").length > 0) var template=_.template($("#reply_item_template").html()); return this.$el.html(template(this.model.toJSON())); }, isAuth:function(){ return ForumEngine.app.currentUser.get('id'); }, updateReplyCount: function(count){ this.$('.name .comment .count').html(count); }, afterAuthorize: function(model){ var name=model.get("display_name"), avatar=model.get("et_avatar"); if(fe_globals.isConfirm=="0"){ $("div.profile-account span.name a").text(name); $("div.profile-account span.img").html(avatar); $("div.login").hide(); $("div.profile-account").fadeIn("slow"); }}, afterReport: function(model){ }, afterRegister: function(model){ var name=model.get("display_name"), avatar=model.get("et_avatar"); if(fe_globals.isConfirm=="0"){ $("div.profile-account span.name a").text(name); $("div.profile-account span.img").html(avatar); $("div.login").hide(); $("div.profile-account").fadeIn("slow"); }}, like: function(){ var element=this.$('.like-post').first(); var view=this; var likeList=view.$el.find('.user-discuss'), likeDiv=view.$el.find('.linke-by'); this.model.like({ beforeSend: function(){ element.toggleClass('active'); }, success: function(resp, model){ if(resp.success){ if(resp.data.isLike){ element.addClass('active'); element.find('.count').text(resp.data.count); var avatar=ForumEngine.app.currentUser.get('et_avatar'); var dom=$('
  • ' + avatar + '
  • '); likeList.find('li:first-child').after(dom.hide().fadeIn()); }else{ element.removeClass('active'); element.find('.count').text(resp.data.count); likeList.find('li.me').fadeOut(); } if(resp.data.count > 0){ likeList.show(); likeDiv.show(); likeDiv.css('visibility', 'visible'); }else{ likeList.hide(); } view.stopListening(pubsub, 'fe:auth:afterLogin', view.like); view.stopListening(pubsub, 'fe:auth:afterRegister', view.like); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); element.toggleClass('active'); }} }); }, onLike: function(event){ event.preventDefault(); var element=$(event.currentTarget); if(element.attr('data-id')!=this.model.get('id')) return; var view=this; if(!this.isAuth()){ this.openLogin(); view.listenTo(pubsub, 'fe:auth:afterLogin', view.like); view.listenTo(pubsub, 'fe:auth:afterRegister', view.like); }else{ this.like(); }}, onQuote: function(event){ event.stopPropagation(); event.preventDefault(); var quoteContent=this.model.get('post_content'), element=$(event.currentTarget), id=element.attr('data-id'), author=this.$('.post-display > .name .post-author').first().text(); var currentEditor=tinymce.activeEditor; if(typeof currentEditor!=="undefined") currentEditor.setContent(''); var trimQuote=quoteContent ? quoteContent:threadData.post_content; if(trimQuote.indexOf("[/quote]") >=0){ trimQuote=trimQuote.split("[/quote]"); newContent=trimQuote[1].replace(/(
    )*/g,"").replace(/[&]nbsp[;]/gi,"");; }else{ newContent=quoteContent; } if(id){ $('.linke-by').show(); $('.form-reply').hide(); $("form#reply_thread").slideUp('fast', function(){ $('.reply-overlay').show(); }); $("#post_"+id).find('.linke-by').hide(); $("#post_"+id).find('.form-reply').css({'display':'block'}).animate({'height':'277px','opacity':'1','filter':'alpha(opacity:100)'},500); var editorId=$("#post_"+id).find('.form-reply textarea[name=post_content]').attr('id'); if(typeof (tinymce.activeEditor)!=="undefined") tinymce.activeEditor.remove(); if(typeof tinymce!=='undefined'){ tinymce.EditorManager.execCommand ("mceAddEditor", false, editorId); tinymce.activeEditor.execCommand ('mceInsertContent', false , '[quote author="'+author+'"]'+newContent+'[/quote]

    '); } $('body').animate({ scrollTop: $(tinymce.activeEditor.getContainer()).parent().offset().top }); }else{ var newContent='[quote author="'+author+'"]' + threadData.post_content + '[/quote]' + "

    "; var id=$('.thread-reply textarea[name=post_content]').attr('id'); $('html, body').animate({ scrollTop: 60000 }, 'slow'); $('.linke-by').show(); $('.form-reply').hide(); $("form#reply_thread").slideDown('fast', function(){ $('.reply-overlay').hide(); }); if(typeof (tinymce.activeEditor)!=="undefined") tinymce.activeEditor.remove(); if(typeof tinymce!=='undefined'){ tinymce.EditorManager.execCommand ("mceAddEditor", false, id); tinymce.EditorManager.activeEditor.execCommand ('mceInsertContent', false , newContent); }} }, openReport: function(event){ event.preventDefault(); var view=this; if(this.isAuth()){ var reportModal=ForumEngine.app.getReportModal(this.model); reportModal.open(false); view.listenTo(pubsub, 'fe:auth:afterReport', function(){ view.$('.control-report').parent().remove(); }); }else{ event.preventDefault(); var modal=ForumEngine.app.getLoginModal(); modal.open(false); view.listenTo(pubsub, 'fe:auth:afterLogin'); view.listenTo(pubsub, 'fe:auth:afterRegister'); }}, openReplyForm: function(){ $('.linke-by').show(); $('.form-reply').hide('fast'); $('.post-display').show(); $('.post-edit').hide(); $('.control-thread').removeClass('hide'); if(typeof (tinymce.activeEditor)!=='undefined') tinymce.activeEditor.remove(); $("form#reply_thread").slideUp('fast', function(){ $('.reply-overlay').show(); }); this.$('.linke-by').hide(); this.$('.form-reply').fadeIn('slow'); var editorId=this.$('.form-reply textarea[name=post_content]').attr('id'); if(typeof tinymce!=='undefined'){ tinymce.EditorManager.execCommand ("mceAddEditor", false, editorId); tinymce.activeEditor.execCommand ('mceSetContent', false , ''); }}, onOpenReplyForm: function(event){ event.preventDefault ? event.preventDefault():event.returnValue=false; var view=this; if(!this.isAuth()){ this.openLogin(); view.listenTo(pubsub, 'fe:auth:afterLogin', view.openReplyForm); view.listenTo(pubsub, 'fe:auth:afterRegister', view.openReplyForm); }else{ this.openReplyForm(); }}, onCancelReplyForm: function(event){ event.preventDefault(); var id=$(this).attr('data-target'); var view=this; this.$('.form-reply').fadeOut('normal', function(){ view.$('div.linke-by').show(); }); }, openLogin: function(){ var modal=ForumEngine.app.getLoginModal(); modal.open(false); }, ajaxReply: function(event){ event.preventDefault(); var element=$(event.currentTarget); var textarea=element.find('textarea[name=post_content]'); var view=this; if(ForumEngine.app.currentUser.get('register_status')=="unconfirm"){ pubsub.trigger('fe:showNotice', fe_front.texts.confirm_account , 'error'); return false; } if(tinymce.get(textarea.attr('id'))){ content=tinymce.get(textarea.attr('id')).getContent(); }else{ content=textarea.val(); } if(($.trim(content)).length==0||content==''||/^(?:\s|
    )*$/.test(content)){ pubsub.trigger('fe:showNotice', fe_front.form_login.error_msg , 'warning'); return false; $(this).find(':submit').prop('disabled', false); }else{ $(this).find(':submit').prop('disabled', true); } this.model.reply(content, { beforeSend: function(){ element.find('input.btn').prop('disabled',true); }, success: function(resp, model){ if(resp.success){ var container=view.$('.reply-children .replies-container'); var subView=new ForumEngine.Views.PostListItem({ model: resp.data.reply, el: resp.data.reply.html }); new listReplyItem({el: subView.$el}); view.subReplies.push(subView); container.append(subView.$el); SyntaxHighlighter.highlight(); if(container.is(':hidden')) container.parent().removeClass('collapse'); if(!resp.data.load_more){ view.$('.btn-more-reply').hide(); } tinymce.activeEditor.execCommand ('mceSetContent', false , ''); var old=parseInt(view.$('.name .comment .count').html()); view.$('.name .comment .count').html(old + 1); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); event.preventDefault(); return false; }}, complete: function(){ element.find('input.btn').prop('disabled',false); }}); hasChange=false; }, showReplies: function(event){ var element=$(event.currentTarget); var target=$(element.attr('href')); var view=this; var id=this.model.get('id'); event.preventDefault(); if(!element.hasClass('clicked')){ element.addClass('clicked'); if(target.find('.replies-container .items-thread').length==0){ var page=this.page ? this.page:1 ; view.fetchReplies({paged: page}, { beforeSend: function(){ element.parent().toggleClass('loading'); }, success: function(resp){ if(resp.data.total_pages > 0){ }}, complete: function(resp){ element.parent().toggleClass('loading'); }}); }else{ target.find('.replies-container .items-thread').slideDown(); }}else{ target.find('.replies-container .items-thread').slideUp(); element.toggleClass('clicked'); }}, moreReplies:function(event){ event.preventDefault(); var view=this; var buttonMore=view.$('.btn-more-reply'); view.fetchReplies({paged: this.page + 1}, { beforeSend: function(){ $(buttonMore).loader('load'); }, complete: function(){ $(buttonMore).loader('unload'); }}); }, fetchReplies:function(data, options){ var view=this; var container=view.$('.replies-container'); var buttonMore=view.$('.btn-more-reply'); var loading=$('
    Loading...
    '); options=options||{}; var success=options.success||function(){}; var beforeSend=options.beforeSend||function(){}; var complete=options.complete||function(){}; var params={ url:fe_globals.ajaxURL, type:'post', data:{ action:'et_fetch_replies', content:{ reply_parent:this.model.get('id'), paged:1 }}, beforeSend: function (){ beforeSend(); }, success: function(resp){ if(resp.success){ loading.remove(); _.each(resp.data.replies, function(element){ var subReplyView=new ForumEngine.Views.PostListItem({model: element, el: element.html}); new listReplyItem({el: subReplyView.$el}); view.subReplies.push(subReplyView); container.append(subReplyView.$el); }); if(resp.data.current_page < resp.data.total_pages){ view.page=resp.data.current_page; if(buttonMore.hasClass('hide')) buttonMore.removeClass('hide'); buttonMore.show(); }else{ buttonMore.hide(); }}else{ } success(resp); }, complete: function(){ complete(); }}; var data=$.extend(params.data.content, data); return $.ajax(params); }, onOpenEdit: function(event){ event.stopPropagation(); event.preventDefault(); if($("form#reply_thread").is(':visible')){ $("form#reply_thread").slideUp('fast', function(){ $('.reply-overlay').show(); }); } $('.form-reply').hide(); $('.post-edit').css('display', 'none'); if(typeof (tinymce.activeEditor)!=="undefined") tinymce.activeEditor.remove(); $('.post-display').show(); $('.control-thread').removeClass('hide'); var element=$(event.currentTarget), view=this, contentArea=view.$('.post-display'), target=view.$el.find('.post-edit').last(), control=this.$('.control-thread'), editorId=target.find("textarea").attr('id'); var content_editor=target.find("textarea").val(); if(typeof(view.model.get('post_content'))==='undefined'){ view.model.set('post_content', content_editor); } contentArea.fadeOut('normal', function(){ if(typeof tinymce!=='undefined'&&!tinymce.EditorManager.get(editorId)){ tinymce.EditorManager.execCommand ("mceAddEditor", false, editorId); tinymce.EditorManager.get(editorId).setContent(view.model.get('post_content')); try { tinymce.activeEditor.selection.select(tinymce.activeEditor.getBody(), true); } catch (e){ } tinymce.activeEditor.selection.collapse(false); } target.fadeIn(); tinymce.activeEditor.execCommand ('mceAutoResize'); control.addClass('hide'); }); }, onCancelEdit: function(event){ event.stopPropagation(); event.preventDefault(); this.closeEdit(); $('.linke-by').show(); }, closeEdit: function(){ var view=this, contentArea=view.$('.post-display'), target=view.$('.post-edit'), control=view.$('.control-thread'); target.fadeOut('normal', function(){ contentArea.fadeIn(function(){ if(typeof (tinymce.activeEditor)!=="undefined") tinymce.activeEditor.remove(); }); $('.control-thread').removeClass('hide'); }); }, onSubmitEdit: function(event){ event.stopPropagation(); event.preventDefault(); var view=this; var form=$(event.currentTarget); var data=form.serializeObject(); var textareaId=form.find('textarea').attr('id'); var button=form.find("input.btn"); if(tinymce.get(textareaId)){ data.post_content=tinymce.get(textareaId).getContent(); view.model.set('post_content', data.post_content); } view.model.update(data, { beforeSend: function(){ button.button('loading'); }, success: function(resp, model){ button.button('reset'); if(resp.success){ var contentView=view.$el.find('.post-display > .content').first(); contentView.html(resp.data.posts.content_html); view.trigger('fe:post:afterEdit', resp.data.posts); $("div#thread_preview").fadeOut(); SyntaxHighlighter.highlight(); $('.fe-zoom').magnificPopup({type:'image'}); new listReply(); view.closeEdit(); $('.linke-by').show(); hasChange=false; }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); }} }); hasChange=false; }}); ForumEngine.Views.ListThread=Backbone.View.extend({ initialize: function(){ var elements=this.$el.children('li.thread-item'); this.views=[]; $(elements).each(function(){ new ForumEngine.Views.ListThreadItem({el: this}); }); }}); ForumEngine.Views.ListThreadItem=Backbone.View.extend({ tagName: 'li', className: 'thread-item', events: { 'click .delete-thread':'onDeleteThread', 'click .close-thread':'onCloseThread', 'click .unclose-thread':'onCloseThread', 'click .approve-thread':'onApproveThread', 'click .act-undo':'onUndoAction', 'click .sticky-thread':'onSticky', 'click .sticky-thread-home':'onStickyHome', }, initialize: function(){ var id=$(this.$el).attr('data-id'); if(id){ this.thread=new ForumEngine.Models.Post({id:id}); }}, syncingParams: function(){ var view=this; return { beforeSend: function(){ $(view.$el).loader('load'); }, complete: function(){ $(view.$el).loader('unload'); }};}, onDeleteThread: function(event){ event.preventDefault(); var view=this; var params=$.extend(this.syncingParams(), { success: function(resp, model){ if(resp.success){ view.showUndoAction() $("span#num_pending").text(parseInt($("span#num_pending").text())-1); pubsub.trigger('fe:showNotice', resp.msg , 'success'); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); }} }); this.thread.onDelete(params); }, onCloseThread: function(event){ event.preventDefault(); var view=this; var params=$.extend(this.syncingParams(), { success: function(resp, model){ if(resp.success){ if(resp.data.new_status=='closed'){ pubsub.trigger('fe:showNotice', resp.msg , 'success'); view.$('.title a').append(''); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'success'); view.$('.title a .icon').remove(); } view.$('.control-thread-group a.close-thread').toggleClass('collapse'); view.$('.control-thread-group a.unclose-thread').toggleClass('collapse'); }} }); this.thread.close(params); }, onStickyThread: function(event){ event.preventDefault(); var params=$.extend(this.syncingParams(), { success: function(resp, model){ if(resp.success){ pubsub.trigger('fe:showNotice', resp.msg , 'success'); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); }} }); this.thread.sticky(params); }, onApproveThread: function(event){ event.preventDefault(); var view=this; var params=$.extend(this.syncingParams(), { success: function(resp, model){ if(resp.success){ view.showUndoAction(); $("span#num_pending").text(parseInt($("span#num_pending").text())-1); pubsub.trigger('fe:showNotice', resp.msg , 'success'); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); }} }); this.thread.approve(params); }, onUndoAction: function(event){ event.preventDefault(); var view=this; var params=$.extend(this.syncingParams(), { success: function(resp, model){ if(resp.success){ view.hideUndoAction(); $("span#num_pending").text(parseInt($("span#num_pending").text())+1); pubsub.trigger('fe:showNotice', resp.msg , 'success'); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); }} }); this.thread.undoStatus(params); }, showUndoAction: function(){ var view=this; view.$('.user-action').hide(); view.$('.control-thread-group').hide(); view.$('.undo-action').removeClass('hide').show(); }, hideUndoAction: function(){ var view=this; view.$('.undo-action').hide(); view.$('.control-thread-group').show(); view.$('.user-action').removeClass('hide').show(); }, onSticky: function(event){ event.preventDefault(); var view=this; var stickyBtn=view.$('.sticky-thread'); var stickyHomeBtn=view.$('.sticky-thread-home'); var params=$.extend(this.syncingParams(), { success: function(resp, model){ if(resp.success){ pubsub.trigger('fe:showNotice', resp.msg , 'success'); if(resp.data.sticky){ }else{ stickyHomeBtn.removeClass('active'); } stickyBtn.toggleClass('active'); stickyHomeBtn.animate({width: 'toggle'}); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); }} }); this.thread.sticky(params); }, onStickyHome: function(event){ event.preventDefault(); var view=this; var stickyBtn=view.$('.sticky-thread'); var stickyHomeBtn=view.$('.sticky-thread-home'); var params=$.extend(this.syncingParams(), { success: function(resp, model){ if(resp.success){ pubsub.trigger('fe:showNotice', resp.msg , 'success'); stickyHomeBtn.toggleClass('active'); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); }} }); this.thread.stickyHome(params); }, }); if(typeof(ForumEngine.Views.Modal)=='undefined'){ ForumEngine.Views.Modal=Backbone.View.extend({ initialize: function(){ }, open: function(){ this.$el.modal('show'); }, close: function(){ this.$el.modal('hide'); }}); } if(typeof(ForumEngine.Views.LoginModal)=='undefined'){ ForumEngine.Views.LoginModal=ForumEngine.Views.Modal.extend({ options: { enableRefresh:true }, events: { 'submit #form_login':'onLogin', 'submit #form_register':'onRegister', 'submit #form_forget':'onForgotPass', }, initialize: function(){ ForumEngine.Views.Modal.prototype.initialize.call(); }, onLogin: function(event){ event.preventDefault(); var element=$(event.currentTarget), button=element.find("button.btn"); var data=element.serializeObject(); var view=this; var options={ beforeSend: function(){ button.button('loading'); }, success: function(resp, model){ if(resp.success){ view.trigger('response:login', resp); pubsub.trigger('fe:response:login', model); pubsub.trigger('fe:showNotice', resp.msg , 'success'); view.$el.on('hidden.bs.modal', function(){ pubsub.trigger('fe:auth:afterLogin', model); view.trigger('afterLogin', model); if(view.options.enableRefresh==true){ if(typeof data.href!='undefined'&&data.href!=''){ window.location.href=data.href; }else{ window.location.reload(true); }}else{ }}); view.close(); }else{ if(typeof resp.banned!='undefined'&&resp.banned==true){ var errorMsg=$('
    '); errorMsg.html(resp.msg); view.$('.login-fr').prepend(errorMsg); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); view.close(); }} }, complete: function(){ button.button('reset'); }} this.login_validator=$('form#form_login').validate({ rules:{ user_name:"required", user_pass:"required" }, messages:{ user_name:fe_front.form_login.error_msg, user_pass:fe_front.form_login.error_msg }, highlight: function(element, errorClass){ $(element).parent().addClass('error'); $(element).parent().find('span.icon').show(); }, unhighlight: function(element, errorClass){ $(element).parent().removeClass('error'); $(element).parent().find('span.icon').hide(); }, }); if(this.login_validator.form()){ ForumEngine.app.login(data.user_name, data.user_pass, options); }}, open: function(enableRefresh){ if(typeof enableRefresh=='undefined') this.options.enableRefresh=true; else this.options.enableRefresh=enableRefresh; this.$el.modal('show'); }, onForgotPass: function(event){ event.preventDefault(); var element=$(event.currentTarget), button=element.find("button.btn"), data=element.serializeObject(), view=this, options={ dataType:'json', url:fe_globals.ajaxURL, type: 'POST', data: { action: 'et_user_sync', method: 'forgot', user_login: data.user_login }, beforeSend: function(){ button.button('loading'); }, success: function(resp){ if(resp.success){ pubsub.trigger('fe:showNotice', resp.msg , 'success'); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); } view.close(); $(".login-modal").fadeIn(); $(".forget-modal").hide(); $("#form_forget")[0].reset(); }, complete: function(){ button.button('reset'); }}; this.forgotpass_validator=$('form#form_forget').validate({ rules:{ user_login :{ required:true, email:true }}, messages: { user_login: { required:fe_front.form_login.error_msg, email:fe_front.form_login.error_email }}, highlight: function(element, errorClass){ $(element).parent().addClass('error'); $(element).parent().find('span.icon').show(); }, unhighlight: function(element, errorClass){ $(element).parent().removeClass('error'); $(element).parent().find('span.icon').hide(); }, }); if(this.forgotpass_validator.form()){ $.ajax(options); }}, onRegister: function(event){ event.preventDefault(); var element=$(event.currentTarget), button=element.find("button.btn"); var data=element.serializeObject(); var view=this; var options={ beforeSend: function(){ button.button('loading'); }, success: function(resp, model){ if(resp.success){ view.trigger('response:register', resp); pubsub.trigger('fe:showNotice', resp.msg , 'success'); view.$el.on('hidden.bs.modal', function(){ pubsub.trigger('fe:auth:afterRegister', model); if(view.options.enableRefresh==true){ if(fe_globals.isConfirm=="0"){ if(typeof data.href!='undefined'&&data.href!=''){ window.location.href=data.href; }else{ window.location.reload(true); }} }else{ }}); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); } view.close(); }, complete: function(){ button.button('reset'); }} this.register_validator=$('form#form_register').validate({ rules:{ user_name :{ required:true, username:true }, email:{ required:true, email:true }, user_pass:'required', re_pass:{ required:true, equalTo:"#user_pass_register" }, agree_terms: { required:function(element){ return !$(element).is(':checked'); }} }, messages: { user_name: { required:fe_front.form_login.error_msg, username:fe_front.form_login.error_username }, email:{ required:fe_front.form_login.error_msg, email:fe_front.form_login.error_email }, user_pass: fe_front.form_login.error_msg, re_pass: { required:fe_front.form_login.error_msg, equalTo:fe_front.form_login.error_repass }}, errorPlacement:function(error, element){ if($(element).attr('type')!='checkbox'){ error.insertAfter(element); }}, highlight: function(element, errorClass){ if($(element).attr('type')=='checkbox'){ $(element).next('label').addClass('error-checkbox'); }else{ $(element).parent().addClass('error'); $(element).siblings('span.icon').show(); }}, unhighlight: function(element, errorClass){ if($(element).attr('type')=='checkbox'){ $(element).next('label').removeClass('error-checkbox'); }else{ $(element).parent().removeClass('error'); $(element).siblings('span.icon').hide(); }}, }); if(this.register_validator.form()){ ForumEngine.app.register(data.user_name, data.email ,data.user_pass, options); }} }); } if(typeof(ForumEngine.Views.ReportModal)=='undefined'){ ForumEngine.Views.ReportModal=ForumEngine.Views.Modal.extend({ events: { 'submit form#report_form':'submitReport' }, initialize: function(){ ForumEngine.Views.Modal.prototype.initialize.call(); }, setModel:function (model){ this.model=model; }, submitReport: function(event){ event.preventDefault(); var view=this, form=$(event.currentTarget), button=form.find('button.btn'), message=form.find('textarea#txt_report').val(), data=form.serializeObject(), options={ beforeSend: function(){ button.button('loading'); }, success: function(resp, model){ $('#reportFormModal').modal('hide'); if(resp.success){ pubsub.trigger('fe:showNotice', resp.msg , 'success'); pubsub.trigger('fe:auth:afterReport'); view.stopListening(pubsub, 'fe:auth:afterReport'); }else{ pubsub.trigger('fe:showNotice', resp.msg , 'error'); } $("form#report_form")[0].reset(); }, complete: function(){ button.button('reset'); }} if(message==""){ pubsub.trigger('fe:showNotice', "Please enter a message." , 'error'); $('#contactFormModal').modal('hide'); return false; } this.model.report(data, options); }, }); } ForumEngine.Views.UploadImagesModal=ForumEngine.Views.Modal.extend({ events: { 'click button.close':'resetUploader', 'click span.btn-cancel': 'resetUploader', 'click button#insert':'startUploadImg' }, initialize: function(){ ForumEngine.Views.Modal.prototype.initialize.call(); var $images_upload=$('#images_upload_container'), view=this; this.uploader=new ImagesUpload({ el: $images_upload, uploaderID: 'images_upload', multi_selection: false, unique_names: false, upload_later: true, filters: [{ title: "Image Files", extensions: 'gif,jpg,jpeg,png,ico' }, ], multipart_params: { _ajax_nonce: $images_upload.find('.et_ajaxnonce').attr('id'), action: 'et_upload_images' }, cbAdded: function(up, files){ var i; if(up.files.length > 1){ while (up.files.length > 1){ up.removeFile(up.files[0]); }} for (i=0; i < up.files.length; i++){ $("span.filename").text(up.files[i].name); }}, cbUploaded: function(up, file, res){ if(res.success){ tinymce.activeEditor.execCommand ('mceInsertContent', false, "[img]" + res.data + "[/img]"); $('#uploadImgModal').modal('hide'); $("span.filename").text(fe_front.texts.no_file_choose); up.splice(); up.refresh(); up.destroy(); }else{ pubsub.trigger('fe:showNotice', res.msg , 'error'); $('#uploadImgModal').modal('hide'); $("span.filename").text(fe_front.texts.no_file_choose); up.splice(); up.refresh(); up.destroy(); $("button#insert").prop('disabled', false); }}, beforeSend: function(){ $("button#insert").prop('disabled', true); }, success: function(){ $("button#insert").prop('disabled', false); }}); }, resetUploader: function(){ this.uploader.controller.splice(); this.uploader.controller.refresh(); this.uploader.controller.destroy(); $("span.filename").text(fe_front.texts.no_file_choose); }, startUploadImg: function(event){ event.preventDefault(); var input=$("input#external_link"); if(currentUser.ID===0&&input.val()=="") return false; if(this.uploader.controller.files.length > 0){ hasUploadError=false; this.uploader.controller.start(); }else if(input.val()!=""){ tinymce.activeEditor.execCommand ('mceInsertContent', false, "[img]" + input.val() + "[/img]"); $('#uploadImgModal').modal('hide'); this.uploader.controller.splice(); this.uploader.controller.refresh(); this.uploader.controller.destroy(); $("input#external_link").val(""); $("span.filename").text(fe_front.texts.no_file_choose); }} }); })(jQuery); !function(t){var e={};function n(o){if(e[o])return e[o].exports;var r=e[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(o,r,function(e){return t[e]}.bind(null,r));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e){!function(t,e){"use strict";if("IntersectionObserver"in t&&"IntersectionObserverEntry"in t&&"intersectionRatio"in t.IntersectionObserverEntry.prototype)"isIntersecting"in t.IntersectionObserverEntry.prototype||Object.defineProperty(t.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var n=[];r.prototype.THROTTLE_TIMEOUT=100,r.prototype.POLL_INTERVAL=null,r.prototype.USE_MUTATION_OBSERVER=!0,r.prototype.observe=function(t){if(!this._observationTargets.some((function(e){return e.element==t}))){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(),this._checkForIntersections()}},r.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter((function(e){return e.element!=t})),this._observationTargets.length||(this._unmonitorIntersections(),this._unregisterInstance())},r.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorIntersections(),this._unregisterInstance()},r.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},r.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter((function(t,e,n){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==n[e-1]}))},r.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map((function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}}));return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},r.prototype._monitorIntersections=function(){this._monitoringIntersections||(this._monitoringIntersections=!0,this.POLL_INTERVAL?this._monitoringInterval=setInterval(this._checkForIntersections,this.POLL_INTERVAL):(i(t,"resize",this._checkForIntersections,!0),i(e,"scroll",this._checkForIntersections,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in t&&(this._domObserver=new MutationObserver(this._checkForIntersections),this._domObserver.observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0}))))},r.prototype._unmonitorIntersections=function(){this._monitoringIntersections&&(this._monitoringIntersections=!1,clearInterval(this._monitoringInterval),this._monitoringInterval=null,s(t,"resize",this._checkForIntersections,!0),s(e,"scroll",this._checkForIntersections,!0),this._domObserver&&(this._domObserver.disconnect(),this._domObserver=null))},r.prototype._checkForIntersections=function(){var e=this._rootIsInDom(),n=e?this._getRootRect():{top:0,bottom:0,left:0,right:0,width:0,height:0};this._observationTargets.forEach((function(r){var i=r.element,s=h(i),c=this._rootContainsTarget(i),u=r.entry,a=e&&c&&this._computeTargetAndRootIntersection(i,n),l=r.entry=new o({time:t.performance&&performance.now&&performance.now(),target:i,boundingClientRect:s,rootBounds:n,intersectionRect:a});u?e&&c?this._hasCrossedThreshold(u,l)&&this._queuedEntries.push(l):u&&u.isIntersecting&&this._queuedEntries.push(l):this._queuedEntries.push(l)}),this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)},r.prototype._computeTargetAndRootIntersection=function(n,o){if("none"!=t.getComputedStyle(n).display){for(var r,i,s,c,a,l,p,f,d=h(n),g=u(n),_=!1;!_;){var v=null,m=1==g.nodeType?t.getComputedStyle(g):{};if("none"==m.display)return;if(g==this.root||g==e?(_=!0,v=o):g!=e.body&&g!=e.documentElement&&"visible"!=m.overflow&&(v=h(g)),v&&(r=v,i=d,s=void 0,c=void 0,a=void 0,l=void 0,p=void 0,f=void 0,s=Math.max(r.top,i.top),c=Math.min(r.bottom,i.bottom),a=Math.max(r.left,i.left),l=Math.min(r.right,i.right),f=c-s,!(d=(p=l-a)>=0&&f>=0&&{top:s,bottom:c,left:a,right:l,width:p,height:f})))break;g=u(g)}return d}},r.prototype._getRootRect=function(){var t;if(this.root)t=h(this.root);else{var n=e.documentElement,o=e.body;t={top:0,left:0,right:n.clientWidth||o.clientWidth,width:n.clientWidth||o.clientWidth,bottom:n.clientHeight||o.clientHeight,height:n.clientHeight||o.clientHeight}}return this._expandRectByRootMargin(t)},r.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map((function(e,n){return"px"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100})),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},r.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,o=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==o)for(var r=0;r0&&(i--,e.unobserve(o.target),h(o.target))}}function h(t){var e,n,o;if(!(!t instanceof HTMLImageElement)){e=t.getAttribute("data-lazy-srcset"),n=t.getAttribute("data-lazy-sizes"),t.removeAttribute("data-lazy-srcset"),t.removeAttribute("data-lazy-sizes"),t.removeAttribute("data-lazy-src"),t.classList.add("jetpack-lazy-image--handled"),t.setAttribute("data-lazy-loaded",1),n&&t.setAttribute("sizes",n),e?t.setAttribute("srcset",e):t.removeAttribute("srcset");try{o=new Event("jetpack-lazy-loaded-image",{bubbles:!0,cancelable:!0})}catch(t){(o=document.createEvent("Event")).initEvent("jetpack-lazy-loaded-image",!0,!0)}t.dispatchEvent(o)}}s&&(s.addEventListener("is.post-load",c),s.addEventListener("jetpack-lazy-images-load",c))};!function(t,e){"use strict";if("IntersectionObserver"in t&&"IntersectionObserverEntry"in t&&"intersectionRatio"in t.IntersectionObserverEntry.prototype)"isIntersecting"in t.IntersectionObserverEntry.prototype||Object.defineProperty(t.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var n=[];r.prototype.THROTTLE_TIMEOUT=100,r.prototype.POLL_INTERVAL=null,r.prototype.USE_MUTATION_OBSERVER=!0,r.prototype.observe=function(t){if(!this._observationTargets.some((function(e){return e.element==t}))){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(),this._checkForIntersections()}},r.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter((function(e){return e.element!=t})),this._observationTargets.length||(this._unmonitorIntersections(),this._unregisterInstance())},r.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorIntersections(),this._unregisterInstance()},r.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},r.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter((function(t,e,n){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==n[e-1]}))},r.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map((function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}}));return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},r.prototype._monitorIntersections=function(){this._monitoringIntersections||(this._monitoringIntersections=!0,this.POLL_INTERVAL?this._monitoringInterval=setInterval(this._checkForIntersections,this.POLL_INTERVAL):(i(t,"resize",this._checkForIntersections,!0),i(e,"scroll",this._checkForIntersections,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in t&&(this._domObserver=new MutationObserver(this._checkForIntersections),this._domObserver.observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0}))))},r.prototype._unmonitorIntersections=function(){this._monitoringIntersections&&(this._monitoringIntersections=!1,clearInterval(this._monitoringInterval),this._monitoringInterval=null,s(t,"resize",this._checkForIntersections,!0),s(e,"scroll",this._checkForIntersections,!0),this._domObserver&&(this._domObserver.disconnect(),this._domObserver=null))},r.prototype._checkForIntersections=function(){var e=this._rootIsInDom(),n=e?this._getRootRect():{top:0,bottom:0,left:0,right:0,width:0,height:0};this._observationTargets.forEach((function(r){var i=r.element,s=c(i),a=this._rootContainsTarget(i),h=r.entry,u=e&&a&&this._computeTargetAndRootIntersection(i,n),l=r.entry=new o({time:t.performance&&performance.now&&performance.now(),target:i,boundingClientRect:s,rootBounds:n,intersectionRect:u});h?e&&a?this._hasCrossedThreshold(h,l)&&this._queuedEntries.push(l):h&&h.isIntersecting&&this._queuedEntries.push(l):this._queuedEntries.push(l)}),this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)},r.prototype._computeTargetAndRootIntersection=function(n,o){if("none"!=t.getComputedStyle(n).display){for(var r,i,s,a,u,l,d,p,f=c(n),g=h(n),v=!1;!v;){var m=null,b=1==g.nodeType?t.getComputedStyle(g):{};if("none"==b.display)return;if(g==this.root||g==e?(v=!0,m=o):g!=e.body&&g!=e.documentElement&&"visible"!=b.overflow&&(m=c(g)),m&&(r=m,i=f,s=void 0,a=void 0,u=void 0,l=void 0,d=void 0,p=void 0,s=Math.max(r.top,i.top),a=Math.min(r.bottom,i.bottom),u=Math.max(r.left,i.left),l=Math.min(r.right,i.right),p=a-s,!(f=(d=l-u)>=0&&p>=0&&{top:s,bottom:a,left:u,right:l,width:d,height:p})))break;g=h(g)}return f}},r.prototype._getRootRect=function(){var t;if(this.root)t=c(this.root);else{var n=e.documentElement,o=e.body;t={top:0,left:0,right:n.clientWidth||o.clientWidth,width:n.clientWidth||o.clientWidth,bottom:n.clientHeight||o.clientHeight,height:n.clientHeight||o.clientHeight}}return this._expandRectByRootMargin(t)},r.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map((function(e,n){return"px"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100})),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},r.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,o=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==o)for(var r=0;r